Generative models are capable of learning the structure of highly complex data without supervision. There have been many attempts to construct generative models capable of representing the wide variety of structures present in natural images. However these models are not capable of outperforming discriminative models on tasks such as object detection, classification and segmentation. This is despite the fact that generative models can learn from the vast number of unlabelled images available online.
A previous image processing system has used a generative model formed from layers of restricted Boltzmann machines (RBMs). Restricted Boltzman machines are a type of Boltzmann machine comprising symmetrically connected hidden and visible nodes. There are no connections between the visible nodes and no connections between the hidden nodes. The restricted Boltzmann machines can be stacked in layers using the output of the hidden nodes of one layer as input for the next layer. Training of restricted Boltzmann machines is generally much faster than training of regular Boltzmann machines, which have connection between hidden nodes and between visible nodes.
Previous image processing systems using layers of restricted Boltzmann machines have difficulty representing object or texture boundaries since these represent a transition from one set of image statistics to another. When there are not enough hidden units in a restricted Boltzmann machine to perfectly model the distribution there is a ‘blurring effect’. Two input variables that are nearly always similar to one another but may occasionally be radically different, such as pixels in an image which are only radically different at a boundary between two image objects, will be assigned a mean value. This means that transitions between objects in an image are poorly represented. The outputs of such image processing systems are then of reduced quality and performance on tasks such as automated object recognition, object segmentation, intelligent image editing and other such tasks is reduced.
In general it is required to provide an image processing systems incorporating a generative model capable of learning the structures present in natural images. Such a model has a wide variety of uses in image processing fields, a non-exhaustive list of examples is: image editing; image segmentation; compression; object recognition; and modeling motion capture data.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known image processing systems.